The present invention relates to communication services over a network. More particularly, the present invention relates to supplying various telephone-related services on a network
A significant amount of all personal communication is conducted over a communication network. Such personal communications include voice communication, data communication, etc. Each communication process can be divided into a plurality of stages that are necessary whether the communication is conducted over a wireline or wireless network. The first stage is a procedural stage in which the parties may verify their authority to communicate with each other, and determine whether possible compatible formats exist for their communication.
The second stage is the connection-establishing stage in which a path is established along which signals can flow between users. This path is necessary because to make a telephone call, send and/or receive a facsimile or the like, communications devices serving the calling party and called party must be connected together in some compatible way. The first two stages are closely related in that, to complete the task, it is necessary to have compatible terminals at both ends of the path, and the terminals must be compatible with the network equipment. In the final stage, the users actually communicate, using their knowledge of the mode of communication and the other user""s capabilities.
The telephony services currently available, however, are constrained by the technology used. For example, for users to telephone one another around the world, a numbering plan is maintained in which customer stations are identified by, for example, subscriber codes, exchange codes, area codes, and country codes. This type of communication typically occurs over a wireline circuit-switched network like the Public Switched Telephone Network (xe2x80x9cPSTNxe2x80x9d), or over some wireless network.
The PSTN uses directory services to support features such as toll-free number services, which allow a single dialed number to be mapped to many different telephone numbers based on certain rules or preferences This xe2x80x9csingle number reachxe2x80x9d is achieved by a network switch attempting to set up the call based on the translation of the xe2x80x9cnamexe2x80x9d (e.g., 800 number) to a unique telephone number, but does not allow sufficient flexibility that comes from allowing users to reroute their communications in an easy fashion. For example, to reach the vast majority of PSTN subscribers, a caller needs to know the network logical address (telephone number) of the terminal closest to the subscriber""s current location, e.g. his office phone, home phone, car phone, etc.
Network directory services can provide a convenient way to insulate users from the need to deal with network addresses. The Domain Name System (DNS) is a familiar example of a directory service that translates host names to Internet addresses.
Another method of service, employed in circuit-switched networks, is the use of a Network Control Point (xe2x80x9cNCPxe2x80x9d). The NCP is a physical point accessible by a network where various management and control functions are implemented. An example of a use of the NCP occurs with regard to toll-free calls. The NCP resolves the toll-free number with the business subscriber""s network address. That is, when one calls a toll-free number, a signal is first sent to the NCP where the dialed number is matched and translated to the called party""s logical network address.
In a packet-switched network, a conventional directory service like X.500 is used to permit applications (such as electronic mail) to access either central or distributed information. The X.500 standard for directory services provides the means to consolidate e-mail directory information through central servers situated at strategic points throughout the network. These X.500 servers then exchange directory information so each server can keep all its local mail directory information current. With X.500, any e-mail user can be listed in a central directory that can be accessed using an X.500-compatible user agent.
To alleviate the problems in the prior art, a network directory service is introduced to provide a simple dial-by-name capability that can be used on a network. Specifically, the present invention relates to a system and method for performing telephony over a network.
To use these provided services, a caller can place a call using a distinguishing name that uniquely identifies the person they wish to reach. The directory maps a query for a distinguishing name to one or more call appearances, each of which typically represents a terminal at which the user can be reached. Call appearances can also refer to other ways of contacting a user, such as a voice mail server or a secretary. In this way, the directory can support both user mobility (users can be reached at any terminal by updating their directory entry with the address of their present location) and terminal mobility (a user can continue to receive calls to a mobile terminal even if its network address changes). In the PSTN, the xe2x80x9csingle number reachxe2x80x9d capability is achieved by a network switch attempting to set up a call based on the translation of the name to a unique telephone number.
As a context for the present invention, but not the only context, consider a packet-switched network like the Internet offering a variety of services to subscribers. In one embodiment of the present invention, a subscriber in this case can, when subscribing to the service, supply the network directory server with a variety of information, and create a record of information that allows the network directory server to expedite a telephone call between the subscriber and one desiring to place a call to the subscriber. As part of this record, the subscriber is then assigned at least one distinguishing name, which is a unique string that points to or refers to the user record, so that he can be reached by that distinguishing name regardless of his location on the network. Subsequently, when the subscriber moves from one location to another, he can register his existence in the new location with the directory server. Now, when a caller in this example seeks to call the subscriber, all the caller needs to do is place a call to the subscriber using the subscriber""s distinguishing name. When the unique distinguishing name is dialed, the network directory server receives the distinguishing name and returns information on how the called party can be reached.
In one embodiment of the present invention, a user record is received for a first user. A query is then received from a caller or second user whose intention it is to contact, via the network, the first user. In response to the second user""s query, a call-handling profile that corresponds to the first user is sent to the second user, and a media exchange is established based on the call-handling profile. Note that for purposes of the present invention, the phrase xe2x80x9cfirst userxe2x80x9d includes, but is not limited to, service subscriber, terminating party, called party, or callee. Additionally, for purposes of the present invention, the phrase xe2x80x9csecond userxe2x80x9d includes, but is not limited to, a caller or an entity wishing to contact the first user.